﻿using System;
using Sinacor.Infra.UI.Common;
using Sinacor.Infra.UI.Security.Services;
using Sinacor.UI.Bovespa.Corretagem.Communication.Bovespa.Titulo.Titulo;

namespace Sinacor.UI.Bovespa.Corretagem.Communication
{
    public class Titulo : BaseCommunication
    {
        #region Construtor

        public Titulo(SessionInformation sessionInformation)
            : base(sessionInformation)
        {
        }

        #endregion

        #region ConsultarMercados


        public Model.ExistenciaNomeTitulo ValidaExistenciaNomeTitulo(Model.Parameter.FiltroNomeTitulo request)
        {
            ITitulo servico = null;
            try
            {
                using (ServiceInstance<ITitulo> service = new ServiceInstance<ITitulo>())
                {
                    servico = service.TryGetInstance(this.Session);
                    return new Translator.DataContractToModel.Titulo().ToExistenciaNomeTitulo(
                        servico.ValidarExistenciaNomeTitulo(new Translator.ModelToDataContract.Titulo().ToFiltroNomeTituloRequest(request)));

                }
            }
            catch (Exception ex)
            {
                HandleFault(ex);
            }


            return null;
        }

        #endregion

    }
}
